home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #1
/
Amiga Plus 1995 #1.iso
/
fish-disketten
/
fish_941-950
/
d948
/
snoopy
/
ini
/
examples
/
example.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-12-13
|
2KB
|
57 lines
#include <stdio.h>
#include <stdlib.h>
#include <clib/exec_protos.h>
#include "/libraries/ini.h"
#include "/clib/ini_protos.h"
#include "/pragmas/ini_pragmas.h"
struct IniBase *IniBase;
int main( void )
{
/* open the ini.library */
if( ( IniBase = (struct IniBase *)OpenLibrary( "ini.library", 0 ) ) != NULL )
{
INIPARSER parser;
INILINEINFO *info;
INIERROR rc;
/* parse in a new inifile */
if( ( rc = ini_New( "test.ini", &parser ) ) == INIERROR_NONE )
{
/* now you can examine the parser. this *very* rudimentary example
only shows all section/variable strings; you'll probably do more
serious things with this structure */
for( info = (INILINEINFO *)parser.table.lh_Head;
info->node.ln_Succ;
info = (INILINEINFO *)info->node.ln_Succ )
{
switch( info->flags )
{
case INIFLAG_VARIABLE:
printf( "VARIABLE=\"%s\", CONTENTS=\"%s\"\n",
info->variable, info->contents );
break;
case INIFLAG_HEADER:
printf( "HEADER=\"%s\"\n", info->contents );
break;
case INIFLAG_COMMENT: /* SHOULD BE IGNORED */
printf( "COMMENT=\"%s\"\n", info->allocated );
break;
default:
printf( "UNKNOWN ENTRY AT 0x%08lx, PLEASE REPORT\n", info );
}
}
ini_Delete( &parser );
}
else printf( "INIERROR:%s\n", ini_ErrorString( rc ) );
/* close library */
CloseLibrary( (struct Library *)IniBase );
}
return 0;
}